/**
 * BlackTeaResponse.java
 * com.tc.client.blacktea.api
 *
 * Function： TODO 
 *
 *   ver     date      		author
 * ──────────────────────────────────
 *   		 2012-7-3 		wangjieming
 *
 * Copyright (c) 2012, TNT All Rights Reserved.
 */

package com.jamin.aabill.api;

import java.io.UnsupportedEncodingException;
import java.net.URLDecoder;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;

import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;


/**
 * ClassName:BlackTeaResponse
 *
 * @author   wangjieming
 * @version  1.0
 * @since    v1.0
 * @Date	 2012-7-3 上午11:35:20 
 */
public class JsonResponse {



	protected static String getString(String name, JSONObject json, boolean decode) {
		String returnValue = null;
		try {
			returnValue = json.getString(name);
			if (decode) {
				try {
					returnValue = URLDecoder.decode(returnValue, "UTF-8");
				} catch (UnsupportedEncodingException ignore) {
				}
			}
		} catch (JSONException ignore) {
			// refresh_url could be missing
		}
		return returnValue;
	}



	protected static int getInt(String key, JSONObject json){
		try {
			String str = json.getString(key);
			if(null == str || "".equals(str)||"null".equals(str)){
				return -1;
			}
			return Integer.parseInt(str);
		} catch (JSONException e) {
			return -1;

		}

	}



	protected static long getLong(String key, JSONObject json){
		try {
			String str = json.getString(key);
			if(null == str || "".equals(str)||"null".equals(str)){
				return -1;
			}
			return Long.parseLong(str);
		} catch (JSONException e) {
			return -1;
		}
	}



	protected static boolean getBoolean(String key, JSONObject json){
		String str;
		try {
			str = json.getString(key);
			if(null == str || "".equals(str)||"null".equals(str)){
				return false;
			}
			return Boolean.valueOf(str);
		} catch (JSONException e) {
			return false;
		}

	}


	protected static JSONObject getJsonObject(String key, JSONObject json){
		JSONObject jsonObj;
		try {
			jsonObj = json.getJSONObject(key);
			return jsonObj;
		} catch (JSONException e) {
			return new JSONObject();
		}

	}

	
//	protected static JSONArray getJsonArray(String key, JSONObject json){
//		JSONArray jsonArray;
//		try {
//			jsonArray = json.getJSONArray(key);
//			return jsonArray;
//		} catch (JSONException e) {
//			return new JSONArray();
//		}
//
//	}
	
	
	
//	protected static Map<String, String> JsonObj2Map(JSONObject jsonBizObj){
//		@SuppressWarnings("unchecked")
//		Iterator<String> keyIter = jsonBizObj.keys(); 
//		String key; 
//		String value; 
//		Map<String, String> valueMap = new HashMap<String, String>(); 
//		while (keyIter.hasNext()) { 
//			key = (String) keyIter.next(); 
//			try {
//				value = jsonBizObj.getString(key);
//			} catch (JSONException e) {
//				e.printStackTrace();
//				value = "";
//			} 
//			valueMap.put(key, value); 
//		} 
//		return valueMap;
//	}
}

